package com.yxw.live_vod_facade.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxw.yxnet_cd_center.common.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value="VideoReviewVO", description="点播视频评论VO")
public class VideoReviewVO implements Serializable {

    @ApiModelProperty(value="视频ID")
    private Long reviewVideoId;

    @ApiModelProperty(value="视频名称")
    private String reviewVideoName;

    @ApiModelProperty(value="视频大小")
    private BigDecimal reviewVideoSize;

    @ApiModelProperty(value="视频类型 1:视频  2-音频")
    private Integer reviewVideoType;

    @ApiModelProperty(value="视频格式 mp4等")
    private String reviewVideoFormat;

    @ApiModelProperty(value="视频分类 对应火山引擎分类")
    private Long classId;

    @ApiModelProperty(value="上传路径 本地上传地址")
    private String reviewVideoUrl;

    @ApiModelProperty(value="封面来源 1：系统自动截取 2：手动上传")
    private Integer coverSource;

    @ApiModelProperty(value="封面地址")
    private String coverUrl;

    @ApiModelProperty(value="上传认证")
    private String uploadToken;

    @ApiModelProperty(value="上传人ID")
    private String userId;

    @ApiModelProperty(value="上传人名称")
    private String userName;

    @ApiModelProperty(value="店铺ID")
    private String shopId;

    @ApiModelProperty(value="店铺名称")
    private String shopName;

    @ApiModelProperty(value="审核状态 1-审核中 2-审核通过 3-审核失败 4-作废")
    private Integer examineStatus;

    @ApiModelProperty(value="审核人ID")
    private Long examineUserId;

    @ApiModelProperty(value="审核人名称")
    private String examineUserName;

    @ApiModelProperty(value="审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date examineTime;

    @ApiModelProperty(value="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value="存储类型 1:标准存储 2：低频存储 3：归档存储")
    private Integer storageType;

    @ApiModelProperty(value="审核描述")
    private String examineDescrible;


    @ApiModelProperty(value="发布状态 0：未发布 1：已发布 2：发布失败")
    private Integer publishStatus;

    @ApiModelProperty(value="发布异常描述 火山引擎上传异常信息")
    private String publishMsg;

    @ApiModelProperty(value="视频描述")
    private String videoDescribe;

    @ApiModelProperty(value="标题")
    private String titel;

    @ApiModelProperty(value="是否公开0-否 1：是")
    private Integer publicFlag;

    @ApiModelProperty(value="火山url对应的id")
    private String jobId;

    @ApiModelProperty(value = "封面在华为云的唯一标识key")
    private String coverKey;

    @ApiModelProperty(value = "视频在华为云的唯一标识key")
    private String videoKey;
}
